unit uPython ;

interface

uses
    SysUtils,
    Dialogs,
    Classes,
    PythonEngine,
    ActnList ;

type
    TdmPython = class( TDataModule )
        ActionList1 : TActionList ;
        actRun : TAction ;
        procedure PythonInputOutputReceiveData( Sender : TObject ;
            var Data : string ) ;
        procedure PythonInputOutputSendData( Sender : TObject ;
            const Data : string ) ;
        procedure actRunExecute( Sender : TObject ) ;
        procedure actRunUpdate( Sender : TObject ) ;
    private
        { Private declarations }
    public
        { Public declarations }
    end ;

var
    dmPython        : TdmPython ;

implementation

uses
    uAppData ;

{$R *.dfm}

procedure TdmPython.PythonInputOutputReceiveData( Sender : TObject ;
    var Data : string ) ;
begin
    InputQuery( 'Python', 'Script needs input:', Data ) ;
end ;

procedure TdmPython.PythonInputOutputSendData( Sender : TObject ;
    const Data : string ) ;
begin
    Log.Plain( Data ) ;
end ;

procedure TdmPython.actRunExecute( Sender : TObject ) ;
begin
//    if assigned( dmFile.Editor ) then
//        PythonEngine.ExecStrings( dmFile.Editor.Lines ) ;
end ;

procedure TdmPython.actRunUpdate( Sender : TObject ) ;
begin
    actRun.Enabled := False ; // assigned( dmFile.Editor ) ;
end ;

initialization
    dmPython := TdmPython.Create( nil ) ;

finalization
    dmPython.Free ;

end.

